home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 2004 #9
/
Amiga Plus CD - 2004 - No. 09.iso
/
amigaplus
/
tools
/
dev_libs
/
feelin040718
/
sources
/
dataspace
/
project.c
< prev
next >
Wrap
C/C++ Source or Header
|
2004-08-03
|
2KB
|
96 lines
;/*
F_Create.rexx LIB Feelin:LIBS/Feelin/Dataspace.fc 1 04
Quit
*/
#include "Private.h"
struct FeelinBase *FeelinBase;
struct Library *IFFParseBase;
///METHODS
F_METHOD(void,DS_New);
F_METHOD(void,DS_Dispose);
F_METHOD(void,DS_Add);
F_METHOD(void,DS_Remove);
F_METHOD(void,DS_Find);
F_METHOD(void,DS_Clear);
F_METHOD(void,DS_WriteIFF);
F_METHOD(void,DS_ReadIFF);
//+
///EXIT
F_EXIT()
{
if (IFFParseBase)
{
CloseLibrary(IFFParseBase); IFFParseBase = NULL;
}
}
//+
///INIT
F_INIT()
{
if (IFFParseBase = OpenLibrary("iffparse.library",40L))
{
return TRUE;
}
return FALSE;
}
//+
///QUERY
F_QUERY()
{
FeelinBase = Feelin;
switch (Which)
{
case FV_Query_ClassTags:
{
static struct FeelinDynamicEntry Methods[] =
{
"Add",0, "Remove",0, "Find",0, "Clear",0, "Merge",0,
"ReadIFF",0, "WriteIFF",0, NULL
};
static struct FeelinDynamicEntry Attributes[] =
{
"Pool",0, NULL
};
static struct FeelinMethodEntry Handlers[] =
{
(FMethod) DS_New, 0, FM_New,
(FMethod) DS_Dispose, 0, FM_Dispose,
(FMethod) DS_Add, (STRPTR) ~FM_Dataspace_Add, 0,
(FMethod) DS_Remove, (STRPTR) ~FM_Dataspace_Remove, 0,
(FMethod) DS_Find, (STRPTR) ~FM_Dataspace_Find, 0,
(FMethod) DS_Clear, (STRPTR) ~FM_Dataspace_Clear, 0,
(FMethod) DS_WriteIFF, (STRPTR) ~FM_Dataspace_WriteIFF, 0,
(FMethod) DS_ReadIFF, (STRPTR) ~FM_Dataspace_ReadIFF, 0,
NULL
};
static struct TagItem Tags[] =
{
FA_Class_LODSize, (ULONG) sizeof (struct LocalObjectData),
FA_Class_Methods, (ULONG) Methods,
FA_Class_Attributes, (ULONG) Attributes,
FA_Class_MethodsTable, (ULONG) Handlers,
FA_Class_Init, (ULONG) FCC_Init,
FA_Class_Exit, (ULONG) FCC_Exit,
TAG_DONE
};
return Tags;
}
}
return NULL;
};
//+